package com.wwe.kotlinstudy.example25

/**
 * @name KotlinStudy
 * @package name：com.wwe.kotlinstudy.example25
 * @anthor DavidZhang
 * @time 2018/4/30 10:56
 * @class 把属性储存在映射中
 */
class User(val map: Map<String, Any?>) {
    val name: String by map
    val age: Int     by map
}

//这经常出现在像解析 JSON 或者做其他“动态”事情的应用中。
// 在这种情况下，你可以使用映射实例自身作为委托来实现委托属性

/*val user = User(mapOf(
        "name" to "John Doe",
        "age"  to 25
))*/

//println(user.name) // Prints "John Doe"
//println(user.age)  // Prints 25